﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DTO.Projectos;
using DTO.Accoes;
using SGPFWebApp.Controlos.Tipos;

namespace SGPFWebApp
{
    public partial class RelatorioPagamentos : BasePage
    {
        public Projecto Projecto { get; set; }
        public static string QueryStringParameterName = "projectoId";
        private TipoDeVisualizacao _visualizacaoCorrente = TipoDeVisualizacao.Lista;
        public TipoDeVisualizacao VisualizacaoCorrente { get { return _visualizacaoCorrente; } }

        protected void Page_Load(object sender, EventArgs e)
        {
            visualizadorControlo.ObterProjectoFunc = ObterProjecto;
            visualizadorControlo.ObterProjectosNoEstadoFunc = gestProjs.DevolveTodosOsProjectos;
            visualizadorControlo.ProjectDetailsControl = projectDetail;
            relatorioAccoes.ObterAccoes = DevolveAccoes;

            Projecto = visualizadorControlo.Projecto;
        }

        public Projecto ObterProjecto(int idProjecto)
        {
            Projecto = gestProjs.DevolveProjecto(idProjecto);
            return Projecto;
        }

        public IEnumerable<Accao> DevolveAccoes()
        {
            if (Projecto != null)
            {
                return from a in Projecto.Accoes
                       where a.GetType() == typeof(DTO.Accoes.Pagamento)
                       select a;
            }
            else
            {
                return null;
            }
        }
    }
}